package com.brid.careasy;

import lombok.extern.slf4j.Slf4j;

import java.security.MessageDigest;

/**
 * @Author: 司军强
 * @Date 2020/2/19 11:00
 * @Description: 车易行的MD5加密算法
 */
@Slf4j
public class MD5Utiles {

    //车易行的MD5加密算法
    public static final String MD5(String s) {
        char[] hexDigits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        try {
            byte[] btInput = s.getBytes("UTF-8");
            MessageDigest mdInst = MessageDigest.getInstance("MD5");
            mdInst.update(btInput);
            byte[] md = mdInst.digest();
            int j = md.length;
            char[] str = new char[j * 2];
            int k = 0;

            for (int i = 0; i < j; ++i) {
                byte byte0 = md[i];
                str[k++] = hexDigits[byte0 >>> 4 & 15];
                str[k++] = hexDigits[byte0 & 15];
            }

            return new String(str);
        } catch (Exception var10) {
            log.error("车行易MD5加密计算失败",var10);
            return null;
        }
    }
}